最后更新时间:2019年6月17日
3D灰度模型显示方法
移动端的二维地图视图中,支持3D灰度模型加载,即通过MapGIS桌面软件设置二维矢量区图层的自绘模式属性,然后转换为矢量离线数据包加载即可。
采用基于二维区图层的方式组织3D灰度模型数据的大体步骤如下,详细操作步骤参考数据组织配置 > 数据预处理模块。
(1)准备3D楼块源数据。在MapGIS 10桌面工具(MapWorkSpace)中制作二维区图层(building),在当前二维区图层中右键属性-->显示-->自绘参数设置;
(2)组织地图文档。将二维区图层和其他需要的二维图层一起组织成地图文档(如本示例组织地图文档为buildings.mapx);
(3)数据转换。将上一步生成的地图文档(如buildings.mapx)使用桌面工具中的移动数据转换工具进行转换,转换完成后会在指定存放路径下生成一个文件夹,文件夹包含转换后的离线数据库文件与地图文档(如buildings.db、buildings.mapx),把转换后的数据放到移动设备存储卡的相应数据目录中;
(4)地图加载。在程序代码中编写加载地图文档的方法,接口调用非常简单,与离线矢量地图的加载方式相同,代码如下:
//获取地图容器 mapView = (MapView) findViewById(R.id.mapView); //加载地图 mapView.loadFromFileAsync(Environment.getExternalStorageDirectory().getPath() + "/MapGIS Mobile 2D Sample/Map/MapShow/Buildings/buildings.mapx"); //为mapview设置地图加载监听 mapView.setMapLoadListener(new MapView.MapViewMapLoadListener() { //开始加载地图 @Override public void mapViewWillStartLoadingMap(MapView arg0, String arg1) { } //地图加载完成 @Override public void mapViewDidFinishLoadingMap(MapView arg0, String arg1) { //给定地图位置 MapPosition position = new MapPosition(new Dot(12734840.911782857, 3568731.256785354), 0.462913295, new Dot(12734947.334961485, 3568606.054069660), (float) -19.78676, (float) 58.281357); //地图动画 mapView.animatePosition(position, 2500, null); } //地图加载失败 @Override public void mapViewDidFailLoadingMap(MapView arg0, String arg1) { } });
显示效果如下所示: